import { PriceShowTypeEnum } from '@/enums/activityEnum';
import { IsRequiredEnum, IsShowEnum, ItemTypeEnum, ItemTypeIdEnum } from '@/enums/customFormEnum';
import {
  LogisticsModeEnum,
  OPpublishStatus,
  ProductType,
  PublishStatus,
  PurchaseLimit,
  ReviewStatus,
} from '@/enums/productManage';

/**
 * 产品库列表
 */
export interface IProductManage {
  id: number;
  /**产品主图 */
  imageUrl: string;
  /**产品名称 */
  productName: string;
  /**产品类型 */
  productType: ProductType;
  /**最低价 */
  minPrice: number;
  /**最高价 */
  maxPrice: number;
  /**分类名称 */
  categoryName: string;
  /**分类id */
  categoryId: number;
  /**用与回显分类 */
  categoryParentStrIds: string;
  /**商户名称 */
  shopName: string;
  /**平台上架状态 */
  publishStatus: PublishStatus;
  /**自己上架状态 */
  opPublishStatus: OPpublishStatus;
  /**审核状态 */
  reviewStatus: ReviewStatus;
  createTime: string;
  priceShowType: PriceShowTypeEnum;
}

/**
 * 审核列表
 */
export interface IProductResult {
  id: number;
  /**
   * 产品库id
   */
  productLibId: number;

  /**
   * 用户id
   */
  userId: number;

  /**发布者 */
  userName: string;

  /**发布者头像 */
  userAvatar: string;

  /**发布者手机号 */
  userPhone: string;

  /**
   * 产品分类id
   */
  productCategoryId: number;

  /**产品分类 */
  productCategoryName: string;

  /**
   * 产品id
   */
  productId: number;

  /**
   * 产品名称
   */
  productName: string;

  /**
   * 图片url
   */
  imageUrl: string;

  /**产品来源 */
  shopName: string;
  /**产品来源头像 */
  shopLogo: string;

  /**
   * 产品类型 (1-实物商品 2-卡券核销商品 3-虚拟商品)
   */
  productType: ProductType;

  /**
   * 审核状态 (0:待审核; 1:审核通过; 2:审核不通过)
   * 这里 reviewStatus 可能是 null 或其他类型，根据需要进行调整
   */
  reviewStatus: ReviewStatus;

  /**审核时间 */
  reviewTime: string;

  /**创建时间 */
  createTime: string;

  /**
   * 库存 默认第一个规格库存
   * 这里 stockNum 可能是 null 或数字，根据需要进行调整
   */
  totalStockNum: string | number;

  /**
   * 销售价 默认显示第一个规格价格
   */
  price: number;
  /**
   * 最低销售价
   */
  productMinPrice: number;

  /**
   * 最高售价
   */
  productMaxPrice: number;

  /**
   * 审核内容
   * 这里 reviewContent 可能是 null 或其他类型，根据需要进行调整
   */
  reviewContent: null | any;

  /**
   * 佣金比例
   * 这里 commissionRate 可能是 null 或数字，根据需要进行调整
   */
  commissionRate: null | number;

  /**
   * 佣金金额
   * 这里 commissionPrice 可能是 null 或数字，根据需要进行调整
   */
  commissionPrice: null | number;

  /** 物流模式[1?:快递;2?:无需物流;3?:到店核销] */
  logisticsMode?: LogisticsModeEnum;
}

/**自定义填写项 */
export interface ICustomForm {
  id?: number;
  /**字段名 */
  showName: string;
  /**是否必填 */
  isRequired?: IsRequiredEnum;
  /**提示语 */
  value?: string;
  /**数据类型 */
  dataType?: string;
  /**是否显示 */
  isShow?: IsShowEnum;
  /**排序 */
  sort?: number;
  /**字段类型 */
  itemType?: ItemTypeEnum;
  /**字段项类型ID */
  itemTypeId: ItemTypeIdEnum;
  /**是否默认字段 */
  defaultField?: boolean;
  /**选择项子集 */
  customFormItemAnswerList: ICustomFormItemAnswerList[];
  /**选择项填写子集 */
  formUserItemAnswerList?: IFormUserItemAnswerList;
}

/**选择项子集 */
export interface ICustomFormItemAnswerList {
  id?: number | string;
  /**选择项名 */
  words?: string;
}
/**选择项填写子集 */
export interface IFormUserItemAnswerList {
  /**填写项id */
  formItemId: number;
  /**选择项id */
  // answerIds?:number[];
  /**输入项内容 */
  content: string[] | number[];
}

/**门店信息 */
export interface IStoreDto {
  /** 门店ID */
  storeId?: number;
  /** 品牌ID */
  brandId?: number;
  /** 门店名称 */
  name: string;
  /** 门店图片 */
  logoUrl: string;
  /** 门店地址 */
  address: string;
}

export interface IProductOtherInfo {
  /** 物流模式[1?:快递;2?:无需物流;3?:到店核销] */
  logisticsMode?: LogisticsModeEnum;
  /** 自定义字段 */
  formItemInfo?: ICustomForm[];
  /** 门店信息集合 */
  storeDtoList?: IStoreDto[];
  /** 购买限制类型 是否限制购买数量 */
  purchaseLimitType?: PurchaseLimit;
  /** 购买限制最大 */
  maxNum?: number;
  /** 购买限制最小 */
  minNum?: number;
  /** 产品详情 */
  productDesc?: string | [];
  /**发货时效描述 */
  deliveryDesc?: string;
  deliveryId?: number;
}

// 产品基本信息
export interface IProductBaseInfo {
  /** 产品名称 */
  productName?: string;
  /** 产品图片集合，图片地址集合 */
  imageUrls: string[];
  /** 产品类型(1-实物产品 2-卡券核销产品 3-虚拟产品) */
  productType?: ProductType;
}

// 创建产品库数据
export interface IProductDetail {
  id: number;
  /** 产品库ID */
  productLibId?: number;
  /** 平台级目录，如果是会员产品库，则必填 */
  productCategoryId?: number;
  /** 租户级的目录，如果是秘书处，则必填 */
  tenantCategoryId?: number;
  /** 商品库类型[1?:会员商品库; 2?:平台商品库(秘书处)] */
  sourceType?: number;
  /** 分销佣金比例 */
  commissionRate?: number | undefined;
  /**最高佣金 */
  productMaxCommissionPrice: number;
  /**最低佣金 */
  productMinCommissionPrice: number;
  /** 产品基本信息 */
  productBaseInfo: IProductBaseInfo;
  /**规格类型 */
  productSpecInfo: IProductSpecInfo[];
  /** 产品价格信息 */
  productPriceInfo: IProductPriceInfo[];
  /** 产品其他信息 */
  productOtherInfo?: IProductOtherInfo;

  /**会员折扣列表信息 */
  productMemberDiscountMapInfo: IProductMemberDiscountMapInfo[];
  productDesc: [];
  applyContent?: string;
}

export interface IProductMemberDiscountMapInfo {
  /**店铺ID */
  shopLevelId: number;
  /**等级ID */
  levelId: number;
  /**会员等级名称 */
  levelName: string;
  /**折扣 */
  discount: number;
}

/** 产品价格信息 */
export interface IProductPriceInfo {
  id?: number;
  /** 规格名称 */
  specCombinationName?: string;
  /**规格属性字符串 */
  specCombinationAttrValue?: string;
  /** 销售价格 */
  salePrice?: number;
  /** 市场价格 */
  marketPrice?: number;
  /** 成本价格 */
  costPrice?: number;
  /** 产品库存，不限制可不传 */
  stockNum?: number;

  /** 图片 */
  imgUrl?: string;
}
/** sku 规格 */
export interface IProductSpecInfo {
  /** 规格名称*/
  specName: string;
  /** 子规格 */
  productSubSepcInfo?: IProductSpecInfo[];
}

export interface IContacts {
  id: number;
  /** 联系人名称 */
  userName: string;
  /** 联系电话 */
  phone: string;
}

/**下架原因 */
export interface UnmounType {
  id: number;
  name: string;
}

/**
 * 商品下架记录
 */
export interface OfflineProductsLog {
  id: number;
  /**操作管理员 */
  operateUserName: string;
  /**下架时间 */
  createTim: string;
  /**下架原因 */
  unmounTypeNam: string;
  /**补充说明 */
  explai: string;
}
